pub fn dp_rec_mc(amount: u32) -> u32 {
    // Define the denominations in descending order
    let denominations = [100, 50, 30, 20, 10, 5, 2, 1];
    let mut remaining = amount;
    let mut count = 0;

    for &bill in denominations.iter() {
        if remaining == 0 {
            break;
        }
        // Use as many bills of the current denomination as possible
        count += remaining / bill;
        remaining %= bill; // Update the remaining amount
    }

    count
}
